/* Baddies szn — ladies salon: pink, gold & white with floral accents */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600;700&display=swap');

:root {
  --bz-bg: #fffafb;
  --bz-bg-soft: #fff5fa;
  --bz-surface: #ffffff;
  --bz-surface-2: #fdf2f8;
  --bz-border: #f3d4e4;
  --bz-border-strong: #e8b8d0;
  --bz-pink: #e879b5;
  --bz-pink-soft: #fce7f3;
  --bz-pink-hot: #db4f96;
  --bz-pink-deep: #be185d;
  --bz-gold: #d4a017;
  --bz-gold-soft: #fff8e8;
  --bz-gold-bright: #e8b923;
  --bz-gold-muted: #a67c00;
  --bz-text: #4a2038;
  --bz-muted: #9d6b87;
  --bz-floral: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23f4b8d4' stroke-width='1.2' opacity='.45'%3E%3Cpath d='M40 36c8-10 18-2 12 8-6 10-18 4-12-8z'/%3E%3Ccircle cx='40' cy='36' r='3' fill='%23fce7f3' stroke='none'/%3E%3Cpath d='M120 100c8-10 18-2 12 8-6 10-18 4-12-8z'/%3E%3Ccircle cx='120' cy='100' r='3' fill='%23fce7f3' stroke='none'/%3E%3Cpath d='M88 24c6-8 14-2 10 6-4 8-14 4-10-6z'/%3E%3Ccircle cx='88' cy='24' r='2.5' fill='%23fff8e8' stroke='none'/%3E%3Cpath d='M24 112c6-8 14-2 10 6-4 8-14 4-10-6z'/%3E%3Ccircle cx='24' cy='112' r='2.5' fill='%23fff8e8' stroke='none'/%3E%3Cpath d='M136 48c5-7 12-2 8 5-4 7-12 3-8-5z'/%3E%3Ccircle cx='136' cy='48' r='2' fill='%23fce7f3' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
}

/* Floral page backdrop */
body.cd-body,
body.app-shell,
body.portal,
body.auth-portal {
  background-color: var(--bz-bg-soft) !important;
  background-image:
    radial-gradient(ellipse 55% 40% at 100% 0%, rgba(255, 248, 232, 0.9) 0%, transparent 70%),
    radial-gradient(ellipse 50% 45% at 0% 100%, rgba(252, 231, 243, 0.95) 0%, transparent 72%),
    var(--bz-floral) !important;
  background-size: auto, auto, 160px 160px !important;
  background-attachment: fixed !important;
  color: var(--bz-text) !important;
}

/* Super / owner dashboard */
.cd-sidebar {
  background: rgba(255, 255, 255, 0.97) !important;
  border-right: 1px solid var(--bz-border) !important;
}

.cd-sidebar-brand {
  background: linear-gradient(135deg, #fff 0%, var(--bz-pink-soft) 100%) !important;
  color: var(--bz-pink-hot) !important;
  border-bottom: 1px solid var(--bz-border) !important;
  font-weight: 700;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.1rem;
}

.cd-sidebar-brand i {
  color: var(--bz-gold-bright) !important;
}

.cd-nav a {
  color: var(--bz-muted) !important;
}

.cd-nav a:hover {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-hot) !important;
}

.cd-nav a.active {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
  border-left-color: var(--bz-gold-bright) !important;
}

.cd-nav a.active i {
  color: var(--bz-gold) !important;
}

.cd-header {
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--bz-border) !important;
}

.cd-header-icon,
.cd-user,
.cd-hamburger {
  color: var(--bz-text) !important;
}

.cd-header-icon:hover,
.cd-hamburger:hover {
  color: var(--bz-pink-hot) !important;
}

.cd-content {
  background: transparent !important;
}

.cd-page-title {
  color: var(--bz-pink-deep) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
}

.cd-breadcrumb,
.cd-breadcrumb a {
  color: var(--bz-muted) !important;
}

.cd-breadcrumb a:hover {
  color: var(--bz-pink-hot) !important;
}

.cd-flash.ok {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border: 1px solid #f0dfa0 !important;
}

.cd-flash.err {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
  border: 1px solid var(--bz-border-strong) !important;
}

.cd-stat-card,
.card {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid var(--bz-border) !important;
  color: var(--bz-text) !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}

.cd-stat-icon {
  background: linear-gradient(135deg, var(--bz-pink) 0%, var(--bz-pink-hot) 100%) !important;
}

.cd-ring-card,
.cd-chart-card {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid var(--bz-border) !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}

.text-muted {
  color: var(--bz-muted) !important;
}

.btn-primary {
  background: linear-gradient(135deg, var(--bz-pink) 0%, var(--bz-pink-hot) 100%) !important;
  border-color: var(--bz-pink-hot) !important;
  color: #fff !important;
  font-weight: 600;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, var(--bz-pink-hot) 0%, var(--bz-pink-deep) 100%) !important;
  border-color: var(--bz-pink-deep) !important;
  color: #fff !important;
}

.btn-outline-primary {
  border-color: var(--bz-pink) !important;
  color: var(--bz-pink-hot) !important;
  background: #fff !important;
}

.btn-outline-primary:hover {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
}

.btn-outline-secondary {
  border-color: var(--bz-border-strong) !important;
  color: var(--bz-muted) !important;
  background: #fff !important;
}

.btn-outline-secondary:hover {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border-color: #f0dfa0 !important;
}

.btn-success {
  background: linear-gradient(135deg, var(--bz-gold-bright) 0%, var(--bz-gold) 100%) !important;
  border-color: var(--bz-gold) !important;
  color: #fff !important;
}

.table {
  color: var(--bz-text) !important;
  --bs-table-bg: transparent;
}

.table thead th {
  color: var(--bz-muted) !important;
  border-color: var(--bz-border) !important;
  background: var(--bz-pink-soft) !important;
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.table td,
.table th {
  border-color: var(--bz-border) !important;
}

.badge.bg-light {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border: 1px solid #f0dfa0;
}

.badge.bg-success {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border: 1px solid #f0dfa0;
}

.badge.bg-warning {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
  border: 1px solid var(--bz-border-strong);
}

.form-control,
.form-select {
  background: #fff !important;
  border-color: var(--bz-border-strong) !important;
  color: var(--bz-text) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--bz-pink) !important;
  box-shadow: 0 0 0 3px rgba(232, 121, 181, 0.18) !important;
}

.form-label {
  color: var(--bz-text) !important;
  font-weight: 500;
  font-size: 0.875rem;
}

/* Reception / staff / sales-agent shell */
.app-sidebar {
  background: rgba(255, 255, 255, 0.97) !important;
  border-right-color: var(--bz-border) !important;
}

.app-sidebar-brand {
  border-bottom: 1px solid var(--bz-border);
  background: linear-gradient(180deg, #fff 0%, var(--bz-pink-soft) 100%);
}

.app-sidebar-brand .shop {
  color: var(--bz-pink-hot) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
}

.app-sidebar-brand .user {
  color: var(--bz-muted) !important;
}

.app-sidebar-brand .role {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border: 1px solid #f0dfa0 !important;
}

.app-nav a {
  color: var(--bz-muted) !important;
}

.app-nav a:hover,
.app-nav a.active {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
  border-color: var(--bz-border) !important;
}

.app-topbar {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: var(--bz-border) !important;
}

.app-topbar h1 {
  color: var(--bz-pink-deep) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
}

.app-card {
  background: rgba(255, 255, 255, 0.94) !important;
  border-color: var(--bz-border) !important;
  color: var(--bz-text) !important;
}

.app-flash.ok {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border-color: #f0dfa0 !important;
}

.app-flash.err {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
  border-color: var(--bz-border-strong) !important;
}

.app-sidebar-toggle {
  background: #fff !important;
  border-color: var(--bz-border) !important;
  color: var(--bz-pink-hot) !important;
}

/* Auth & homepage portal */
.portal-header h1 {
  color: var(--bz-pink-deep) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
}

.portal-header p {
  color: var(--bz-muted) !important;
}

.portal-logo {
  border-color: var(--bz-border) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px var(--bz-gold-soft);
}

.portal-logo .fallback {
  color: var(--bz-gold) !important;
}

.portal-card {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: var(--bz-border) !important;
  position: relative;
  overflow: hidden;
}

.portal-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--bz-pink) 0%, var(--bz-gold-bright) 50%, var(--bz-pink) 100%);
}

.portal-lede {
  color: var(--bz-gold-muted) !important;
}

.portal-link {
  background: #fff !important;
  border-color: var(--bz-border) !important;
  color: var(--bz-text) !important;
}

.portal-link:hover {
  border-color: var(--bz-pink) !important;
  background: var(--bz-pink-soft) !important;
}

.portal-link .ic {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-hot) !important;
}

.portal-link.reception .ic {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold) !important;
}

.portal-link.staff .ic,
.portal-link.team .ic {
  background: var(--bz-pink-soft) !important;
  color: var(--bz-pink-deep) !important;
}

.portal-link .tx span {
  color: var(--bz-muted) !important;
}

.portal-install {
  background: linear-gradient(135deg, var(--bz-pink) 0%, var(--bz-pink-hot) 100%) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}

.portal-install:hover {
  background: linear-gradient(135deg, var(--bz-pink-hot) 0%, var(--bz-pink-deep) 100%) !important;
}

.portal-foot,
.portal-back {
  color: var(--bz-muted) !important;
}

.auth-portal-badge {
  background: var(--bz-gold-soft) !important;
  color: var(--bz-gold-muted) !important;
  border: 1px solid #f0dfa0 !important;
}

.auth-title {
  color: var(--bz-pink-deep) !important;
  font-family: 'Cormorant Garamond', Georgia, serif;
}

.auth-sub {
  color: var(--bz-muted) !important;
}

.btn-auth {
  background: linear-gradient(135deg, var(--bz-pink) 0%, var(--bz-pink-hot) 100%) !important;
  border-color: var(--bz-pink-hot) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.btn-auth:hover {
  background: linear-gradient(135deg, var(--bz-pink-hot) 0%, var(--bz-pink-deep) 100%) !important;
}

.auth-foot a {
  color: var(--bz-pink-hot) !important;
}

.text-primary { color: var(--bz-pink-hot) !important; }
.text-success { color: var(--bz-gold) !important; }

.h4, .h5, .h6, .fw-bold, .fw-semibold {
  color: var(--bz-text);
}

.alert-info {
  background: var(--bz-pink-soft) !important;
  border-color: var(--bz-border-strong) !important;
  color: var(--bz-text) !important;
}

.alert-danger {
  background: var(--bz-pink-soft) !important;
  border-color: var(--bz-border-strong) !important;
  color: var(--bz-pink-deep) !important;
}

.alert-warning {
  background: var(--bz-gold-soft) !important;
  border-color: #f0dfa0 !important;
  color: var(--bz-gold-muted) !important;
}

.hr-accent {
  border: 0;
  border-top: 2px solid var(--bz-gold-bright);
  width: 56px;
  margin: 0 auto 16px;
}

/* Decorative floral corners on main cards */
.portal-card-inner,
.cd-content > .card:first-child,
.app-main > .app-card:first-child {
  position: relative;
}

.portal-header::after {
  content: '✿';
  display: block;
  font-size: 0.85rem;
  color: var(--bz-gold-bright);
  margin-top: 6px;
  letter-spacing: 0.35em;
  opacity: 0.85;
}
